const { Switch } = require("../lib/types");

module.exports = {
    name: "ngx_stream_zone_sync_module",
    map: {
        zone_sync: [String, , "server"],
        zone_sync_buffers: [String, "8 4k|8k", ["stream", "server"]],
        zone_sync_connect_retry_interval: [String, "1s", ["stream", "server"]],
        zone_sync_connect_timeout: [String, "5s", ["stream", "server"]],
        zone_sync_interval: [String, "1s", ["stream", "server"]],
        zone_sync_recv_buffer_size: [String, "4k|4k", ["stream", "server"]],
        zone_sync_server: [String, , "server"],
        zone_sync_ssl: [Switch, false, ["stream", "server"]],
        zone_sync_ssl_certificate: [String, , ["stream", "server"]],
        zone_sync_ssl_certificate_key: [String, , ["stream", "server"]],
        zone_sync_ssl_ciphers: [String, "DEFAULT", ["stream", "server"]],
        zone_sync_ssl_conf_command: [String, , ["stream", "server"]],
        zone_sync_ssl_crl: [String, , ["stream", "server"]],
        zone_sync_ssl_name: [String, , ["stream", "server"]],
        zone_sync_ssl_password_file: [String, , ["stream", "server"]],
        zone_sync_ssl_protocols: [String, "TLSv1 TLSv1.1 TLSv1.2", ["stream", "server"]],
        zone_sync_ssl_server_name: [Switch, false, ["stream", "server"]],
        zone_sync_ssl_trusted_certificate: [String, , ["stream", "server"]],
        zone_sync_ssl_verify: [Switch, false, ["stream", "server"]],
        zone_sync_ssl_verify_depth: [Number, 1, ["stream", "server"]],
        zone_sync_timeout: [String, "5s", ["stream", "server"]]
    }
};